package org.infosys.basic.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.infosys.basic.query.BaseQuery;

import java.util.List;
/**
* @Description: 基础mapper类，有基础的增删改查方法
* @Author: hank
* @Version: 1.0
* @Date:  2022/6/27 14:54
*/
public interface BaseMapper<T> {

    /** 查询所有 */
    List<T> loadAll();

    /** 根据ID查询 */
    T loadById(Long id);

    /** 新增 */
    void save(T t);

    /** 修改 */
    void update(T t);

    /** 删除 */
    void remove(Long id);

    /** 条件查询 */
    List<T> loadQuery(BaseQuery baseQuery);

    /** 条件查询总条数 */
    Integer loadQueryCount(BaseQuery baseQuery);

    /** 批量删除 */
    void patchDel(Long[] ids);
}
